package model

// 题库

type Options struct {
	ItemA string `json:"itemA"`
	ItemB string `json:"itemB"`
	ItemC string `json:"itemC"`
	ItemD string `json:"itemD"`
	ItemE string `json:"itemE"`
	ItemF string `json:"itemF"`
}

type UsrBank struct {
	BaseModel
	Code      string `json:"code"`                   // 题目编码
	Submitter string `json:"-" gorm:"default:'admin'"` // 提交者
	//Confirm   bool   `json:"-" gorm:"type:tinyint; default:0"`     // 确认与否，
	// Confirm 这个字段目前没用上，主要就是增加一个管理员确认的标记，防止题库被恶意破坏
	Category string `json:"category" gorm:"not null"` // 题目分类
	Content  string `json:"content" gorm:"not null"`  // 题目内容
	Options  `json:"options"`                         // 题目选项
	Answer   string `json:"answer"`                   // 参考答案
	Excludes string `json:"excludes"`                 // 排除选项
	Notes    string `json:"notes"`                    // 备注
}

func (b *UsrBank) Equal(p *UsrBank) bool {
	if b.Category != p.Category {
		return false
	}
	if b.Content != p.Content {
		return false
	}
	if b.ItemA != p.ItemA {
		return false
	}
	if b.ItemB != p.ItemB {
		return false
	}
	if b.ItemC != p.ItemC {
		return false
	}
	if b.ItemD != p.ItemD {
		return false
	}
	if b.ItemE != p.ItemE {
		return false
	}
	if b.ItemF != p.ItemF {
		return false
	}
	return true
}
